Multi-core processors run applications more efficiently and allow multi-threaded software to achieve higher performance. These processors may include execution and communications parts. A crossbar switch may be used to communicate between the execution and communications parts.